package cn.itcast.service;

import cn.itcast.result.PageBean;
import cn.itheima.goods.dto.CategoryDTO;
import cn.itheima.goods.dto.CategoryPageQueryDTO;
import cn.itheima.goods.pojo.Category;

import java.util.List;

public interface CategoryService {
    /**
     * 分页查询
     *
     * @param queryDTO 分页及自定义条件
     * @return 分页列表
     */
    PageBean pageList(CategoryPageQueryDTO queryDTO);

    /**
     * 更新分类
     *
     * @param categoryDTO 分类的信息
     * @return 无
     */
    void update(CategoryDTO categoryDTO);

    /**
     * 启用、禁用分类
     *
     * @param status 状态1为启用，0为禁用
     * @param id  要修改的分类id
     * @return 无
     */
    void updateStatus(Integer status, Long id);

    /**
     * 新增分类
     *
     * @param categoryDTO 分类信息
     * @return 无
     */
    void add(CategoryDTO categoryDTO);

    /**
     * 根据id删除分类
     *
     * @param id 要删除的分类Id
     * @return 无
     */
    void deleteById(Long id);

    /**
     * 根据类别查询分类
     *
     * @param type 1为菜品分类，2为套餐分类
     * @return 无
     */
    List<Category> getListByType(Integer type);
}
